package com.yykj.user.center.server.service;

import com.yykj.user.center.client.form.AddGroupForm;
import com.yykj.user.center.server.dto.GroupPatientDTO;
import com.yykj.user.center.server.dto.GroupPatientDetailDTO;
import com.yykj.user.center.server.form.AddRelationGroupPatient;
import com.yykj.user.center.server.form.RemoveGroupForm;
import com.yykj.user.center.server.form.RemovePatientForm;
import com.yykj.user.center.server.form.UpdateGroupForm;

import java.util.List;

public interface GroupService {

    Boolean create(AddGroupForm addGroupForm);

    void createDefault(AddGroupForm addGroupForm);

    void update(UpdateGroupForm updateGroupForm);

    Boolean buildRelation(AddRelationGroupPatient addRelationGroupPatient);

    Boolean removePatientFromGroup(RemovePatientForm removePatientForm);

    List<GroupPatientDTO> queryByGroup(Integer hospitalId, String doctorId, Integer type);

    List<GroupPatientDetailDTO> queryAllPatientByDoctorId(String doctorId);

    List<GroupPatientDetailDTO> availableGroupPatients(String doctorId,Integer hospitalId);

    List<GroupPatientDetailDTO> availableLabelPatients(String doctorId, Integer hospitalId, String labelId);

    List<GroupPatientDTO> list(String doctorId, Integer hospitalId, Integer type, String name);

    Boolean removeGroup(RemoveGroupForm removeGroupForm);
}
